import { UserEntity } from '@/api/create/interface'
import { t } from 'i18next'

export type StateStore = {
	/** 会议名称 */
	name: string
	/** 手机号码 */
	mobilePhone: string
	/** 分机号码 */
	phoneNO: string
	/** 会议日期 */
	day: string
	/** 开始时间 */
	startTime: string
	/** 会议时间-小时 */
	hour: number
	/** 会议时间-分钟 */
	minute: number
	/** 手动结束 */
	permanentMeeting: boolean
	/** 是否重复 */
	repeat: boolean
	/** 超大方会议 */
	superMtNum: boolean
	/** 重复会议信息 */
	meetingFormular: {
		endTime: string
		weekDays: string
	} | null
	/** 文件个数 */
	fileNumber: number
	/** 会议摘要 */
	brief: string
	/** 通知方式 */
	notifyMode: {
		sms: boolean
		email: boolean
		wechat: boolean
	}
	/** 预分配会议号是否开启 */
	preAssignedMeetingCheck: boolean
	/** 预分配会议号 */
	preAssignedMeetingNumber: string
	/** 发言方 */
	speaker: ISelectUser
	/** 管理方 */
	manager: ISelectUser
	/** 发言方下拉框列表 */
	speakerList: ISelectUser[]
	/** 管理方下拉框列表 */
	managerList: ISelectUser[]
	/** vip列表 */
	vipList: UserEntity[]
	/** 会议室搜索规则 */
	meetingCriteriaList: {
		/** 区域名称 */
		region_name: string
		/** 设备IDS */
		device_ids: string
		/** 该搜索规则下要搜索的会议室数 */
		num: number
		/** 区域id */
		region_id: number
		/** 人数上限 */
		up_seating: number
		/** 人数下限 */
		down_seating: number
		/** 会议室id */
		meeting_room_id?: string
	}[]
	/**会议室数据 */
	roomData: IRoomData | null
	_isSearchRoomDialogShow: boolean
	_isRepeatDialogShow: boolean
	_isImportTemplateShow: boolean
	_isMeetingFileShow: boolean
	_errorMsg: string | null
	/**是否初始化，创会初始化不需要校验名字 */
	isInit: boolean
}

export interface IRoomData {
	total_num: number
	success_num: number
	failure_num: number
	status: number
	data: {
		day: string
		status: number
		meeting_form_key: string
		meeting_rooms: {
			id: string
			name: string
			e164: string
			region_name: string
			region_Id: string
		}[]
	}[]
}

export type ISelectUser = UserEntity & {
	uid: string
}
export interface ISelectItem {
	label: string
	value: string | number
}

export interface ICriteria {
	regionName: string
	deviceIds: string
	num: number
	regionId: number
	upSeating: number
	downSeating: number
	meetingRoomId: string
	meetingRoomsList: ISelectItem[]
}

export const numData = [
	{ label: t('请选择数量'), value: 0 },
	{ label: 1, value: 1 },
	{ label: 2, value: 2 },
	{ label: 3, value: 3 },
	{ label: 4, value: 4 },
	{ label: 5, value: 5 },
	{ label: 6, value: 6 },
	{ label: 7, value: 7 },
	{ label: 8, value: 8 },
	{ label: 9, value: 9 },
	{ label: 10, value: 10 },
]
